//编写一个函数来查找字符串数组中的最长公共前缀。 
//
// 如果不存在公共前缀，返回空字符串 ""。 
//
// 示例 1: 
//
// 输入: ["flower","flow","flight"]
//输出: "fl"
// 
//
// 示例 2: 
//
// 输入: ["dog","racecar","car"]
//输出: ""
//解释: 输入不存在公共前缀。
// 
//
// 说明: 
//
// 所有输入只包含小写字母 a-z 。 
// Related Topics 字符串


package leetcode.editor.cn;
//Java：最长公共前缀
public class P14LongestCommonPrefix{
    public static void main(String[] args) {
        Solution solution = new P14LongestCommonPrefix().new Solution();
        // TO TEST
        System.out.println(solution.longestCommonPrefix(new  String[]{"flower","flow","flight"}));
    }
    //leetcode submit region begin(Prohibit modification and deletion)
class Solution {
    public String longestCommonPrefix(String[] strs) {
        StringBuffer stringBuffer = new StringBuffer();
        if ( strs.length == 0){
            return "";
        }
        int minLength = strs[0].length();
        for(String s : strs){
            minLength = Math.min(minLength,s.length());
        }
        for (int i = 0; i < minLength; i++) {
            for (int j = 0; j < strs.length-1; j++) {
                char x = strs[j].charAt(i);
                if ( x != strs[j+1].charAt(i) ){
                    return stringBuffer.toString();
                }
            }
            stringBuffer.append(strs[0].charAt(i));
        }
        return stringBuffer.toString();
    }
}
//leetcode submit region end(Prohibit modification and deletion)

}